/*
	Copyright (C) 2010 2011 Rémi Thebault

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include <procycle/xml_storable.h>


namespace PC {


void
XmlStorable::loadFromElement(const QDomElement &element) {
	if (element.tagName() != elementName()) {
		throw XmlFormatError();
	}
}

QDomElement
XmlStorable::saveToElement(QDomDocument &doc) const {
	return doc.createElement(elementName());
}


QList<QDomElement>
XmlStorable::directElementsByTagName(const QDomElement &element, const QString &tagName) {
	QList<QDomElement> el;
	QDomNodeList nl = element.childNodes();
	for (int i=0; i<nl.size(); i++) {
		QDomElement e = (nl.at(i)).toElement();
		if (!e.isNull() && e.tagName()==tagName) {
			el.append(e);
		}
	}
	return el;
}

}

